home *** CD-ROM | disk | FTP | other *** search
/ Sprite 1984 - 1993 / Sprite 1984 - 1993.iso / src / cmds / pmake / README < prev   
Encoding:
Text File  |  1989-11-15  |  5.5 KB  |  118 lines

  1. October 29, 1989
  2.  
  3.     This is release 2.1 of PMake -- a parallel Make program originally written
  4. for the Sprite operating system.
  5.  
  6. In this distribution come several pieces:
  7.     doc/        Documentation for pmake.
  8.         pmake.mansp    Man page for PMake using the Sprite manual
  9.             macros.
  10.         pmake.psc       Postscript of same
  11.         tmac.ansp       Sprite manual macros
  12.         Lst.mansp       Man page for the Lst library
  13.         Lst.psc            Postscript of same
  14.         tutorial.ms     Tutorial for PMake. This must be run through 
  15.                 ditroff -ms | index/index
  16.                         The exact command is in the makefile.
  17.         tutorial.psc.Z    Compressed Postscript of same
  18.     prefix.ms    Release notes and description of an automounter
  19.             for NFS called "prefix"
  20.     prefix.psc.Z    Compressed Postscript of same
  21.         index/            Ditroff post-processor to create indices.
  22.             tmac.index        Macros to create the index.
  23.     customs/    A term paper on customs
  24.     cctrl.8        Standard UNIX man page for cctrl utility
  25.     customs.8    Standard UNIX man page for customs daemon
  26.     importquota.8    Standard UNIX man page for importquota utility
  27.     reginfo.1    Standard UNIX man page for reginfo utility
  28.  
  29.     lib/            Libraries for PMake
  30.         mk/             Canned makefiles
  31.             system.mk          System Makefile that must be installed before
  32.                 PMake will run.
  33.         sprite/            A library to map Sprite runtime functions to UNIX
  34.                     functions.
  35.         lst/            The linked-list library used to manage pmake's
  36.                     dependency graph and just about everything else.
  37.         include/        Sprite include files required for the Sprite library.
  38.  
  39.     unix/        Files for a local-execution-only version of PMake under
  40.             BSD UNIX.
  41.     config.h    The definition of several site-dependent constants
  42.             used mostly in job.c.
  43.     makefile           Makefile to be used with Make to create a local version of
  44.             PMake
  45.     customs/        Remote execution system for PMake.
  46.     src/            Actual PMake source code.
  47.     prefix/        Automounter for use with PMake and Customs
  48.  
  49. You should edit unix/config.h, makefile and lib/mk/sys.mk, in that order, to
  50. produce PMake. system.mk should be installed in the system makefile directory
  51. (wherever you decide to put it).
  52.  
  53. "Makefile" and "common.mk" are the makefiles I use to create PMake using
  54. PMake (There are essentially three versions that can be made and I got tired
  55. of removing the object files each time I wanted to make a different one).
  56. It kind of gives you an idea of how wild one can get with conditionals etc.
  57.  
  58. One final word. There are some important differences between PMake and
  59. Make.  Most of these can be obviated by either giving PMake the -B
  60. flag or by renaming it to 'make'. Certain features of the System V
  61. version of Make can be accessed either by giving the -v flag, or by
  62. invoking PMake as 'smake'. Almost all of the new features of PMake are
  63. available when in these compatibility modes, but certain pieces of
  64. stupid behaviour that Make exhibits come into play. Read the
  65. tutorial...
  66.  
  67. A mailing list has been established at pmake@bsw.uu.net for questions, etc.
  68. Administrative stuff should be addressed to pmake-request@bsw.uu.net.
  69.  
  70. Once more, the University of California, Berkeley Softworks and I accept
  71. no responsibility for this software. It is provided "as is" in the hope that
  72. it may be useful, but there is no warranty of any kind attached.
  73.  
  74. a
  75.  
  76. NOTES SPECIFIC TO RELEASE 2.1:
  77.  
  78. The majority of the changes for this release, with the exception of the addition
  79. of the prefix daemon to the distribution, are merely making pmake do what I
  80. expect it to do, given the set of features already present in release 2.0.
  81. Mostly, this involved the proper support of dynamic sources throughout the
  82. program.
  83.  
  84. Other changes of note:
  85.     * the .ORDER target now exists to allow you to enforce an ordering
  86.       between targets that do not otherwise depend on each other. This
  87.       can be used to serialize ranlib's, for example.
  88.     * the target() function in conditionals allows you to have a system
  89.       makefile whose targets can be easily overridden by an including
  90.       makefile.
  91.     * there are more configuration options in config.h necessitated by the
  92.       pending inclusion of pmake in the 4.4 BSD release. They see certain
  93.       things differently from me, so to accomodate them (they're nice
  94.       people, after all :) I have added some conditional code.
  95.     * Partial support for the preliminary POSIX standard for Make, including
  96.       the existence of single-suffix transformations. The system.mk file
  97.       no longer defines a null suffix, preferring to use these single-
  98.       suffix rules instead. The .NULL target will still work, however.
  99.       PMake reverts to using single-suffix transformations if the
  100.       list of suffixes is cleared out with an empty .SUFFIXES line.
  101.     * transformation rules can now be deleted in the Make way.
  102.     * added handling of targets with no commands, using the time
  103.       that was found for the target, rather than the start of the
  104.       make, so long as RECHECK isn't defined. Allows the standard
  105.       yacc definitions file hack (performing a compare and copying if
  106.       different) to operate properly with a rule like
  107.         parse.h    : parse.c
  108.       thrown in.
  109.     * The option parsing has gone from Sprite style to using getopt. Thus,
  110.         pmake -fD foo.mk DEFINE_ME
  111.       will no longer work. The proper syntax is
  112.         pmake -f foo.mk -DDEFINE_ME
  113.       though whitespace can still be used between -D and DEFINE_ME.
  114.     * All variables defined on the command-line automatically have
  115.       their values exported in the environment.
  116.     * The -e flag is supported to cause the environment be searched
  117.       before the global variable scope.
  118.